package savet.gui.modelos;

import java.util.Date;
import java.util.List;
import savet.entidades.atributos.ValeTransporte;

/**
 *
 * @author Adisson Marinho
 */
public class ValeTransporteModel extends AbstractAtributoSalarioModel<ValeTransporte> {

    public ValeTransporteModel() {
        super(null);
    }

    public ValeTransporteModel(List<ValeTransporte> valesTransportes) {
        super(valesTransportes);
    }

    @Override
    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
        if (aValue != null) {
            ValeTransporte vale = listaElementos.get(rowIndex);
            if (columnIndex == 0) {
                vale.getPeriodo().setDataInicio((Date) aValue);
            } else if (columnIndex == 1){
                vale.getPeriodo().setDataFim((Date) aValue);
            } else {
                vale.setUtiliza((Boolean) aValue);
            }
        }
    }

    public int getRowCount() {
        return listaElementos.size();
    }

    public int getColumnCount() {
        return 3;
    }

    @Override
    public Class<?> getColumnClass(int columnIndex) {
        if (columnIndex == 0 || columnIndex == 1) {
            return Date.class;
        } else {
            return Boolean.class;
        }
    }

    @Override
    public String getColumnName(int column) {
        if (column == 0) {
            return "De:";
        } else if (column == 1) {
            return "Ate:";
        } else {
            return "Utiliza vale";
        }
    }

    public Object getValueAt(int rowIndex, int columnIndex) {
        ValeTransporte vale = listaElementos.get(rowIndex);
        if (columnIndex == 0) {
            return vale.getPeriodo().getDataInicio();
        } else if (columnIndex == 1) {
            return vale.getPeriodo().getDataFim();
        } else {
            return vale.isUtiliza();
        }
    }

    public void setListaElementos(List<ValeTransporte> valesTransportes) {
        this.listaElementos = valesTransportes;
        fireTableDataChanged();
    }

}
